package com.atguigu.filter;

import javax.servlet.*;
import java.io.IOException;

/*
* 日志过滤器  记录请求的历史 将日志打印到控制台上
*
*1.实现Filter接口
* 2.重写过滤方法
* 3.配置过滤器
*     web.xml
*     注解
* */
public class LoggingFilter implements Filter {
    /*
    * 过滤请求的和响应的方法
    * 1.请求到达目标资源之前，先经过该方法
    * 2.该方法有能力控制请求是否继续到达目标资源 可以在方法内直接向客户端作响应处理
    * 3 请求目标到达目标资源后，响应之前还会经过该方法
    * */
    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        //1.请求到达目标资源之前的功能代码
           //判断是否登录
           //校验权限是否满足...
        //2.放行代码
        //3.响应之前 HttpServletResponse转化为响应报文之前的功能代码


        //请求到达目标资源之前的代码
        System.out.println("loggingfilter before dofilter invoked");
        //放行
        filterChain.doFilter(servletRequest, servletResponse);
        //响应之前的功能代码
        System.out.println("loggingfilter after dofilter invoked");


    }
}
